# -*-  coding:utf-8 -*- 
# Author : lihongliang
import  os
""" 

3 函数基础
    写函数，计算传入数字参数的和
    写函数，用户传入修改的文件名，与要修改的内容，执行函数，完成整个文件袋 批量修改操作
    写函数，检查用户传入的对象，（字符串，列表，元组）的每一个元素是否含有空内容
    写函数，检查传入字典的每一个value的长度，如果大于2，那么仅保留前两个长度的内容，并将新内容返回调用者
    写函数， 利用递归获取斐波拉契数列中的第10个数，并将该数值返回给调用者

    # 写函数，计算传入数字参数的和
x = int(input("输入第一个数："))
y =int(input ("输入第二个数："))
def calc(x,y):
    sum = x +y
    print(sum)
calc(x,y)


# 写函数，用户传入修改的文件名，与要修改的内容，执行函数，完成整个文件袋  批量修改操作


file_name = input("请输入要修改的文件名：")
file_content = input("请输入查找修改的内容：")
file_content_new = input("请输入修改后的的新内容:")

f1 = open("f1_test.txt",'r',encoding="utf-8")
f2 = open("f2_test.txt",'w',encoding="utf-8")
for line in f1:
    if file_content in line:
        line = line.replace(file_content,file_content_new)
    f2.write(line)

f1.close()
f2.close()

# 写函数，检查用户传入的对象，（字符串，列表，元组）的每一个元素是否含有空内容

def check_str(a):  # a为传过来的参数
    calc = False  # 空格统计默认False没有
    for line in a:
        if line.isspace():
            calc = True
    return calc

a= input("请输入要检查的内容：")
res = check_str(a)
if res == False:
    print ("无空格")
else:
    print("有空格")


# 写函数，检查传入字典的每一个value的长度，如果大于2，那么仅保留前两个长度的内容，并将新内容返回调用者

def f7(arg):
    ret = {}
    for key ,value in arg.items():
        if len(value) > 2:
            ret[key] = value[0:2]
        else:
            ret[key]=value
    return ret

dic = {"k1":"v1v1","k2":[11,22,33,44],"k3":"12"}
r = f7(dic)
print(r)
"""
#  写函数， 利用递归获取斐波拉契数列中的第10个数，并将该数值返回给调用者


def  f8(a1,a2,count):
    count += 1
    a3 = a1+a2
    print(a3)
    if count == 10:
        print(a3)
        return
    f8(a2,a3,count)

f8(0,1,0)






